package com.chatim.nonamechatim.netty;

import lombok.Getter;

import java.util.HashMap;

/**
 * 命令类型
 */
@Getter
public enum CommandType {

    // 建立连接
    CONNECTION(1),

    // 聊天信息
    CHAT(2),

    // 心跳
    HEARTBEAT(3),

    // 离线
    OFFLINE(4),

    // 错误
    ERROR(-1);

    private final Integer code;

    private static final HashMap<Integer, CommandType> commandMap = new HashMap<>();

    CommandType(Integer code) {
        this.code = code;
    }

    static {
        for (CommandType command : CommandType.values()) {
            commandMap.put(command.code, command);
        }
    }

    public static CommandType match(Integer code) {
        return CommandType.commandMap.get(code);
    }
}
